var events = require('events');
var eventEmitter = new events.EventEmitter();
var eventHandler = function () {
    console.log('事件启动！');
    eventEmitter.emit('fire');
};

eventEmitter.on('start', eventHandler);
eventEmitter.on('fire', function (i) {
    // 匿名函数
    console.log('fire !' + (i || 'start!'));
});
eventEmitter.emit('start');
var obj = {
    index: 0
}
var timer = setInterval(function (obj) {
    obj.index++;
    if (obj.index < 10) {
        eventEmitter.emit('fire', obj.index);
    } else {
        eventEmitter.emit('kill');
    }
}, 500, obj)
eventEmitter.on('kill', function () {
    console.log('kill!')
    clearInterval(timer);
    console.log('complete!');
});
// addListener(event, listener)
// 为指定事件添加一个监听器到监听器数组的尾部。
eventEmitter.addListener('kill', function () {
    console.log('another listener get!');
    eventEmitter.emit('destroy');
});

eventEmitter.on('destroy',function(){
    console.log('listenerConut: '+eventEmitter.listenerCount(eventEmitter,'kill'));
    eventEmitter.removeAllListeners();
    console.log('remove event!');
});